The present invention relates to a method for making data transmission more effective in a telecommunication network, wherein the data transmission comprises layer structure protocol means for data transmission, which protocol means comprise at least an upper layer and a lower layer, wherein the purpose of the lower layer is at least to compose a data unit to be transmitted to the upper layer from one or more segments, in which method one or more errors occurring in the received is detected. The invention also relates to protocol means of a telecommunication network wherein layer structure protocol means comprise at least an upper layer and a lower layer, wherein the purpose of the lower layer is to compose a data unit to be transmitted to an upper layer from one or more contained in the received data units and to detect one or more errors occurring in the received segments. Furthermore, the invention relates to a wireless communication device comprising layer structured protocol means for data transmission, which protocol means comprise at least an upper layer and a lower layer, wherein the purpose of the lower layer is to compose a data unit to be transmitted to an upper layer from one or more segments contained in the received data units and to detect one or more errors occurring in the received segments, arranged to function in a telecommunication network.
The present invention relates to a method according to the preamble of the appended claim 1 for making data transmission more effective in a telecommunication network. The invention also relates to protocol means of a telecommunication network according to the preamble of the appended claim 11. Furthermore, the invention relates to a wireless communication device according to the preamble of the appended claim 12, arranged to function in a telecommunication network.
In the GSM network (Global System for Mobile Communications), the data transfer rate of 9.6 kbit/s is slow even according to the present standards, and in the world of a constantly growing supply of multimedia, the transfer capacity of present mobile networks is becoming insufficient. For a next generation mobile phone, mere transmission of speech is not sufficient, but the system must also be capable of handling data and and video connections. The UMTS (Universal Mobile Telecommunications System) is a global wireless multimedia system which provides wireless communication e.g. with a very fast data transfer and the user with more versatile possibilities in the form of new kinds of services. The basic requirements of the UMTS network include the capability to provide a better quality of service than in present mobile networks, a wider coverage area, a large number of additional services, as well as a larger capacity both in the transfer rate and in the number of subscriber connections than in present systems.
The UMTS network is a flexible data transmission channel which can be used to transmit speech, multimedia or other information brought into digital format. In its simplest form, the UMTS is a telephone or a portable computer which functions nearly all over the world and which has a constant fast connection to the Internet network. The UMTS has such a high data rate that it is suitable for the transmission of e.g. good quality video images.
The basic network solution of the UMTS system is based on the GSM system. The UMTS will function at a frequency of approximately 2 gigahertz, i.e. above the present DCS-1800 network (Digital Cellular System for 1800 MHz). The UMTS has the capacity for a transfer rate of 2 Mbit/s, which is approximately 200 times higher that the data transfer capacity of the GSM. This rate is sufficient for the transmission of video images of quite a good quality, and it enables the transmission of e.g. graphics and multimedia. The top rate is attained by a larger bandwidth, effective data compression and WCDMA radio technology (Wideband Code Division Multiple Access). When compared with the conventional CDMA technology (Code Division Multiple Access), the differences include larger transfer capacity, better quality, smaller power consumption as well as approximately twice as large a frequency domain. If the application to be used requires less capacity, less capacity is allocated, wherein the rest of the capacity is available for others.
An advantage of the UMTS when compared to second generation mobile phones, such as GSM subscriber connections, will be the potential transfer rate of 2 Mbit/s as well as IP support (Internet Protocol). Together these provide a possibility for a supply of multimedia services as well as new wideband services, such as video calls and video conferences.
GPRS (General Packet Radio Service) is a packet-switched data service related to the technology of the GSM network, which is especially well suited for the transmission of IP packets. New data transmission technology requires changes in the present GSM network. Two new nodes are required in the network to take care of the transmission of packets. The purpose of the nodes is to take care of the transmission and reception of the packets from a GSM telephone as well as of the conversion and transmission of packets to other, for example IP-based networks. The GPRS determines four different channel coding methods by means of which the amount of data to be transferred can be controlled in accordance with the reception of the network. The transfer capacity of one time slot varies between 9.05 kbit/s and 21.4 kbit/s, and the maximum transfer rate is approximately 164 kbit/s, when all the eight time slots are in use simultaneously. The maximum size of the packets to be transmitted is 2 kb. By means of the GPRS, it is possible to utilize the capacity of the network better, because individual time slots can be divided between several connections.
The UMTS protocol stack contains a few substantial changes when compared to the GPRS. This is because the UMTS sets considerably higher demands for the quality of service (QoS), and a new radio interface (WCDMA) is used in the UMTS. One of the most significant changes is the fact that the LLC layer (Link Control Layer) has been removed from underneath the PDCP layer (Packet Data Convergence Protocol). In the GPRS, this layer is replaced by an SNDCP layer (Subnetwork Dependent Convergence Protocol). In the UMTS, this LLC layer is not necessary, because encoding is performed in the RAN (Radio Access Network). In the transmission of signalling messages, user level protocols are not used. Furthermore, the interleaving related to the quality of service is the responsibility of a MAC layer (Medium Access Control) and an L1 layer (Layer 1=Physical Layer).
The protocol architecture of the UMTS radio interface is illustrated in FIG. 1. The architecture is implemented in a wireless communication device, such as a mobile phone, operating in a network and comprising the necessary protocol means to enable data transfer. The blocks in the drawing correspond to the manifestation of each protocol. The service access points 20 (SAP) in point-to-point connections are shown as ovals located between different sublayers in the figure. The UMTS radio interface is divided into three different protocol layers L1 (Layer 1=Physical Layer) 10, L2 (Layer 2=Data Link Layer) and L3 (Layer 3=Network Layer). The layer L2 is divided into sublayers MAC (Media Access Control) 11, RLC (Radio Link Control) 12, PDCP (Packet Data Convergence Protocol) 14 and BMC (Broadcast/Multicast Control) 13. The layer L3 is divided into a control level 17 and a user level 16. The sublayers PDCP 14 and BMC 13 are only present on the user level 16. L3 is also divided into sublayers, the lowermost of which is RRC (Radio Resource Control) 15, and it is followed by other sublayers of L3, e.g. CC (Call Control) and MM (Mobile Management), which are not shown in FIG. 1.
The purpose of the RLC protocol is to set up, maintain and set down the RLC connection. Since the upper PDCP sublayer 14 may provide longer RLC SDUs (Service Data Units) 6 (FIG. 3b) than can fit in one RLC PDU (Protocol Data Unit) 1a or 1b (FIG. 3a), the RLC SDUs 6 i.e. PDCP PDUs are divided into sections of suitable size, i.e. into PUs (Payload Unit), i.e. segments, one of which fits in each RLC PDU 1a or 1b. It is also possible that several PUs fit in one RLC PDU 1a or 1b, if compression of the header is used. Correspondingly, in the reception or at the other end of the connection, these are again combined to form one RLC SDU 6. By compressing the header, several PUs can be fitted in one RLC PDU 1a, 1b. By linking, it is possible to compose different RLC SDUs 6 in such a way that if the last PU of the first RLC SDU 6 does not fill the entire RLC PDU, 1a or 1b, the first PU of the next RLC SDU can fill the rest of this RLC PDU 1a or 1b. If linking is not utilized, and the last PU does not fill the entire RLC PDU 1a, 1b, the rest of it can be filled with padding bits. The PDU and the SDU comprise a predetermined amount of information in a predetermined form, encoded into bit format.
The user data can be transferred from one point to another using acknowledged, unacknowledged or transparent data transmission, wherein the RLC SDUs are transferred without adding RLC protocol information. Data transmission can be controlled using quality of service settings. If errors occur in the data transmission when acknowledgements are used, the errors can be corrected by retransmitting the RLC PDU. The RLC SDUs can be delivered in a reliable manner in the correct order to the receiver, when acknowledgements and sequence numbers are used. If this function is not utilized, the receiver may receive the RLC SDUs in a wrong order. It is possible that the receiver receives the same RLC PDU twice, wherein this RLC PDU is transmitted to the upper PDCP sublayer only once. The receiver can also adjust the transmission rate of the sender if it is not suitable. When the RLC PDU is received, its accuracy is checked on the basis of a checksum related to the same. If any part of the RLC PDU is defective, the entire RLC SDU related to the same is retransmitted if retransmission is available, and the set maximum number of retransmissions has not been reached. Otherwise this RLC SDU is discarded. Because errors may also occur in the function of this protocol, the aim is to find and correct these errors.
The RLC protocol provides services for the upper PDCP sublayer which include                establishment and release of the RLC connection, by means of which it is possible to set up and set down RLC connections,        transparent data transfer by means of which it is possible to transfer RLC SDUs without adding any RLC protocol information, but in such a way, however, that the segmentation and assembly of RLC SDU is possible,        unacknowledged data transfer, by means of which it is possible to transfer information to the receiver without guaranteeing its arrival in such a way that all correct RLC SDUs are transmitted to the upper PDCP sublayer immediately only once,        acknowledged data transfer, by means of which it is possible to transfer information to the receiver in a secure manner by means of retransmissions in such a way that all correct RLC SDUs that have arrived are transmitted to the upper PDCP sublayer immediately only once in the correct order or in the order of arrival,        quality of service settings, by means of which it is possible to determine the quality of service which can be utilized to provide a guaranteed data transmission for the receiver in such a way that by means of retransmissions, all RLC SDUs can be transmitted to the PDCP sublayer in the transmission order correctly only once, or in the order of arrival correctly only once,        notification of unrecoverable errors, by means of which it is possible to notify the PDCP sublayer that the RLC SDU cannot be transmitted since the RLC sublayer has not been able to correct the incorrect RLC PDUs within the scope of the given retransmissions and the set delay.        
The main purpose of the PDCP protocol is to compress the control information related to the upper protocol layers. Another purpose of the PDCP protocol is to map the PDU of the upper layer protocol as an integer, i.e. RLC SDU, which can be understood by the RLC sublayer, to compress the redundant control information at the transmitting entity and to decompress it at the receiving entity.
Generally, sliding windows are used for flow control and recovery of error situations. In this mechanism, each sender uses a so-called transmit window with a predetermined size. Similarly, each receiver uses a so-called receive window with a predetermined size. Correctly received data blocks are acknowledged to the sender, and the window is thereby transferred forward which enables the transmission of new data blocks. In addition to this, the receiver can transmit requests for retransmission of incorrect data blocks and after they are acknowledged, the window is also “transferred”. In some situations, the window “stalls” wherein the transmission of new data blocks is interrupted.
With reference to FIG. 2, the aforementioned transmit window behaves in the following way. Each packet on the left-hand side of the window has been transmitted, and an acknowledgement for the same has arrived. Inside the window, on the far left side, there is the first transmitted unacknowledged packet. Outside the window on the right-hand side there are such packets which have not been transmitted yet. Furthermore, inside the window there is a cursor which indicates the limit for packets which have been transmitted and which have not been transmitted. The cursor usually slides very fast to the far right side.
One of the most important objectives of the RLC sublayer is to provide a reliable data transfer connection, because in general, the services of the underlaying layer are not reliable, i.e. messages can be lost, or they can be corrupted. The retransmission of incorrectly received RLC PDUs is taken care of by the RLC layer of the data transfer protocol. The mechanism of the retransmission is based on the aforementioned transmit and receive windows. The size of this window is always a compromise between the used data transfer protocol and the requirements of the storage capacity available. Too small a transmit window causes stalling of the window, and interrupts the data transfer often, which considerably reduces the amount of data transferred.
In the case of UMTS, the mechanism of the retransmission is based on an automatic repeat request (ARQ), which basically functions in the following way. If the size of the receive window is one, the receiver does not accept the arriving RLC PDUs if they do not arrive in order.
Thus, if one RLC PDU is lost in the process, the receiver will discard all RLC PDUs transmitted later, before the transmit window has become full. For the receiver this method is simple, because no buffer space is required. The sender is also aware of the fact that if an acknowledgement for the RLC PDUs on the lower limit of the window does not arrive, all the RLC PDUs transmitted thereafter must be retransmitted. Thus, only one timer is sufficient for the sender, which timer is always turned on when the lowest limit of the window is transferred. When the timer is set off, a whole window of RLC PDUs will be retransmitted.
On the other hand, if the size of the receive window is larger than one, the loss of one frame does not necessarily require retransmission of the following frames. If they are accurate when they are received by the receiver, the receiver has buffered those frames which fit in the receive window. A frame which is lost or contains errors when it arrives, remains on the lowest limit of the receive window, and the receive window will not be transferred until the missing frame is received.
FIG. 2 illustrates the above-described retransmission mechanism using an example in which the size of the transmit and receive window is 4. The example is examined in chronological order, first from the point of view of the sender and then from the point of view of the receiver. In the example, the RLC PDUs 1a and 1b to be transmitted are indicated with reference DATA (x), in which x is the sequence number of the RLC PDU. Correspondingly, the acknowledgements are indicated with reference ACK (x) in which x is the sequence number of the RLC PDU to be acknowledged.
The sender transmits DATA (0), wherein the transmit window is [0,1,2,3]. Next, the sender transmits DATA (1) in a corresponding manner. Now, the sender receives an acknowledgement ACK (0), wherein the transmit window is now [1, 2, 3, 4]. The sender transmits DATA (2). Now, the sender receives an acknowledgement ACK (1), wherein the transmit window is now [2, 3, 4, 5]. The sender is not aware of the fact that DATA (2) never reaches its destination, and thus the process continues with the transmission of DATA (3) and DATA (4). The transmit window is still [2, 3, 4, 5], because DATA (2) has not arrived. Now the timer of DATA (2) is set off, wherein the transmission is started from the beginning of the transmit window, i.e. by the transmission of DATA (2). Thereafter, the sender waits until an acknowledgement is received, or until the next timer is set off. In this situation, it is not advantageous for the sender to retransmit the next packets. Usually, it is reasonable to wait to see whether a notification arrives in the next acknowledgement which indicates that the entire window or at least a part of it has been received correctly. In this case, the acknowledgement ACK (4) has time to arrive before the timer of DATA (3) is set off, and thus the transmit window is [5, 6, 7, 8]. Now the sender can transmit DATA (5). Thereafter the process continues in the above-described manner.
When the receiver receives DATA (0), the receive window is [1, 2, 3, 4]. Thereafter, the receiver transmits an acknowledgement ACK (0). Now, the receiver receives DATA (1), and thus the receive window is [2, 3, 4, 5]. An acknowledgement ACK (1) is transmitted to the sender. Thereafter the receiver receives DATA (3) instead of the expected DATA (2), and therefore the receive window is not transferred, and DATA (3) is buffered. The receiver is still waiting for DATA (2), but receives DATA (4) instead, and therefore the receive window is not transferred, and DATA (4) is buffered. Next, the receiver receives the expected DATA (2) and the buffer contains DATA (3) and DATA (4), and thus the receive window is now [5, 6, 7, 8]. Since packets have now been received as far as DATA (4), it is possible to transmit an acknowledgement ACK (4) to the sender. Thereafter, the receiver receives DATA (5), and thus the receive window is now [6, 7, 8, 9]. Thereafter the process continues in the above-described manner.
Each RLC PDU contains a checksum by means of which it is possible to check that the RLC PDU does not contain any errors. More precisely, in the UMTS, the checksum is added and checked in the L1 layer, but in view of the logical operation, this resembles a feature of the RLC protocol. This, however, results in that the data block protected by the checksum also contains the header information of the RLC, and possibly also the header information of MAC protocol. Normally, when acknowledgements are used, incorrect RLC PDUs are transmitted again and again until they arrive accurately, or until the set maximum number of retransmissions is full. When all RLC PDUs of RLC SDU have been transmitted accurately to the receiver, the RLC SDUs can be composed and transmitted to an upper PDCP sublayer. If acknowledgements are not used, the accuracy of all RLC PDUs of RLC SDU is checked. If an RLC PDU is incorrect, the entire RLC SDU is discarded.
Because of the wireless environment, the UMTS has a limited bandwidth and a larger error probability and longer delays when compared to a fixed network. Real-time applications, in turn, require as small delays as possible. When packets containing one single error are discarded and retransmitted, it is probable that there will be situations in which there is no time to transmit the packet accurately before it is too late.